﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ezCloud.Data;
using System.ComponentModel.DataAnnotations;
using System.Collections;

namespace ezCloud.Api.Models
{
    public class RoomStatuses
    {
        public object reservationRooms;
        public List<Rooms> rooms;
        public List<RoomTypes> roomTypes;
    }

    public class CalculateRoomPrice
    {
        public int roomId { get; set; }
        public int reservationRoomId { get; set; }
        public DateTime arrivalDate { get; set; }
        public DateTime departureDate { get; set; }
        public int adults { get; set; }
        public int children { get; set; }
        public int? RoomPriceId { get; set; }
        public bool FOC { get; set; }
        public float DiscountPercentage { get; set; }
        public decimal DiscountFlat { get; set; }
        public Hashtable languageKeys { get; set; }
        public decimal Price { get; set; }
        public int roomTypeId { get; set; }
        
        
        /*public CalculateRoomPrice(int roomId, DateTime arrivalDate, DateTime departureDate, int adults, int children)
        {
            this.roomId = roomId;
            this.arrivalDate = arrivalDate;
            this.departureDate = departureDate;
            this.adults = adults;
            this.children = children;

        }*/
    }
    public class CalculateGroupPrice
    {
        public int ReservationId { set; get; }
        public Hashtable languageKeys { get; set; }
    }

    public class ApplyDiscountModel
    {
        public int reservationRoomId { get; set; }
        public bool FOC { get; set; }
        public float DiscountPercentage { get; set; }
        public decimal DiscountFlat { get; set; }
        public Hashtable languageKeys { get; set; }
    }

    public class CancelModel
    {
        public int ReservationRoomId { get; set; }
        public bool ApplyCancellationFees { get; set; }
        public string CancelReason { get; set; }
        public float CancelPercentage { get; set; }
        public decimal CancelFlat { get; set; }
        public decimal TotalDeposit { get; set; }
        public Hashtable languageKeys { get; set; }
    }

    public class PaymentModel
    {
        public Hashtable languageKeys { get; set; }
        public Payments payment { get; set; }
    }

    public class RoomExtraserviceModel
    {
        public Hashtable languageKeys { get; set; }
        public RoomExtraServiceItems roomExtraserviceItems { get; set; }
    }

    public class deletedSelectedServiceItems
    {
        public Hashtable languageKeys { get; set; }
        public RoomExtraServiceItems roomExtraServiceItems { get; set; }
    }

    public class deletedSelectedServices
    {
        public Hashtable languageKeys { get; set; }
        public RoomExtraServices roomExtraServices { get; set; }
    }

    public class RoomRemarkModel
    {
        public int ReservationRoomId { get; set; }
        public int RemarkEventId { get; set; }
        public string Description { get; set; }
        public int RoomRemarkId { get; set; }
        public bool IsCompleted { get; set; }
        public bool IsDeleted { get; set; }
    }

    public class EditPriceModel
    {
        public int ReservationRoomId { get; set; }
        public decimal NewPrice { get; set; }
        public Hashtable languageKeys { get; set; }
    }

    public class EditRoomChargeModel
    {
        public int ReservationRoomId { get; set; }
        public int RoomChargeId { get; set; }
        public decimal Amount { get; set; }
        public Hashtable languageKeys { get; set; }
    }

    public class EditNoteModel
    {
        public int ReservationRoomId { get; set; }
        public string NewNote { get; set; }
    }

    public class PaymentInfo
    {
        public int PaymentId { get; set; }
        public string UserName { get; set; }
    }

    public class RoomExtraServiceCreatedUserInfo
    {
        public int RoomExtraServiceId { get; set; }
        public string UserName { get; set; }
        public string UserNameDeleted { get; set; }
    }

    public class RoomExtraServiceItemCreatedUserInfo
    {
        public int RoomExtraServiceItemId { get; set; }
        public string UserName { get; set; }
    }

}